<?php

/**
 * Usuario form.
 *
 * @package    ecampus
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class UsuarioForm extends BaseUsuarioForm
{
    protected function  setupInheritance() {
        parent::setupInheritance();

        $this->useFields(array('nombre_usuario','password','nombre','apellido',
            'email','imagen'));
        //validaciones por defecto del formulario
            //validacion de que el email ingresado sea valido
             $this->validatorSchema['email'] = new sfValidatorAnd(
                     array($this->validatorSchema['email'],new sfValidatorEmail(array(),
                            array(
                                    'invalid' => 'No es una direccion de e-mail valida',
                                    'required' => false
                                  )
                             ))
                     );
             //email es obligatorio
            $this->validatorSchema['email']->setOption('required', true);
            $this->validatorSchema['email']->setMessage('required', 'Este campo es obligatorio');

            //nombre y apellido son campos obligatorios
            $this->validatorSchema['nombre']->setOptions(array(
                                                'required' => true,
                                                'invalid' => 'Se debe indicar nombre',
                                                ));
            $this->validatorSchema['apellido']->setOptions(array(
                                                'required' => true,
            ));

            //configuracion de la imagen
            $this->widgetSchema['imagen'] = new sfWidgetFormInputFile(array('label' => 'Foto'));
            $this->validatorSchema['imagen'] = new sfValidatorFile(array(
                                                'required' => false,
                                                'path' => sfConfig::get('sf_upload_dir').'/usuario',
                                                'mime_types' => 'web_images',
                                                ));

            $this->validatorSchema['imagen_delete'] = new sfValidatorPass() ;
            //agregar mascara para la password
            $this->widgetSchema['password'] = new sfWidgetFormInputPassword();

            
            $this->validatorSchema['nombre']->setMessage('required', 'Se debe indicar el nombre obligatoriamente');
            $this->validatorSchema['apellido']->setMessage('required', 'Se debe indicar el apellido obligatoriamente');
    }
//    public function  save($con = null) {
////        $usr = $this->getObject();
////
////        $usuario_guard = new sfGuardUser();
////        $usuario_guard->setId($usr->getIdUsuario());
////        $usuario_guard->setUsername($usr->getNombreUsuario());
////        $usuario_guard->setTipoUsuario($usr->getTipoUsuario());
////        $usuario_guard->setEmailAddress($usr->getEmail());
////
////        $usuario_guard->save();
//
//        parent::save($con);
//    }
}
